//app.js
import {UserModel} from './model/user'
App({
  onLaunch: function () {
    
    if (!wx.cloud) {
      console.error('请使用 2.2.3 或以上的基础库以使用云能力')
    } else {
      wx.cloud.init({
        // env 参数说明：
        //   env 参数决定接下来小程序发起的云开发调用（wx.cloud.xxx）会默认请求到哪个云环境的资源
        //   此处请填入环境 ID, 环境 ID 可打开云控制台查看
        //   如不填则使用默认环境（第一个创建的环境）
        // env: 'my-env-id',
        traceUser: true,
      })
    }
    this.getOpenId()

    // 登录
    // wx.login({
    //   success: (res) => {
    //     // 发送 res.code 到后台换取 openId, sessionKey, unionId
    //     console.log('applet login ',res)
    //     if (res.code) {
    //       let code = res.code;
    //       UserModel.login(code).then(res => {
    //         console.log('微信登录获取用户信息',res)
    //         if(res.code === 200) {
    //           wx.setStorageSync("openid", res.data.openid);
    //           wx.setStorageSync("session_key", res.data.session_key);
    //           wx.setStorageSync("isRegistered", res.data.isRegistered);
    //         }
    //       })
    //     }
    //   },
    // });

    // 获取用户信息
    wx.getSetting({
      success: (res) => {
        if (res.authSetting["scope.userInfo"]) {
          // 已经授权，可以直接调用 getUserInfo 获取头像昵称，不会弹框
          wx.getUserInfo({
            success: (res) => {
              // 可以将 res 发送给后台解码出 unionId
              // console.log(res.userInfo)
              this.globalData.userInfo = res.userInfo;
              wx.setStorageSync("username", res.userInfo.nickName);
              wx.setStorageSync("isAuth", true);
              // 由于 getUserInfo 是网络请求，可能会在 Page.onLoad 之后才返回
              // 所以此处加入 callback 以防止这种情况
              if (this.userInfoReadyCallback) {
                this.userInfoReadyCallback(res);
              }
            },
            fail: (err) => {
              console.log(err)
            },
            complete: data => {
              // console.log(data)
            }
          });
        }else{
          console.log('用户未授权')
        }
      },
     
    });

    //检查版本更新
   this.checkNewVersion();

    this.globalData = {}
  },
  checkNewVersion: function () { // 检查版本更新
    // 获取小程序更新机制兼容
    if (wx.canIUse("getUpdateManager")) {
      const updateManager = wx.getUpdateManager();
      updateManager.onCheckForUpdate(function (res) {
        // 请求完新版本信息的回调
        if (res.hasUpdate) {
          updateManager.onUpdateReady(function () {
            wx.showModal({
              title: "更新提示",
              content: "新版本已经准备好，是否重启应用？",
              success: function (res) {
                if (res.confirm) {
                  // 新的版本已经下载好，调用 applyUpdate 应用新版本并重启
                  updateManager.applyUpdate();
                }
              }
            });
          });
          updateManager.onUpdateFailed(function () {
            // 新的版本下载失败
            wx.showModal({
              title: "已经有新版本了哟~",
              content: "新版本已经上线啦~，请您删除当前小程序，重新搜索打开哟~"
            });
          });
        }
      });
    } else {
      // 如果希望用户在最新版本的客户端上体验您的小程序，可以这样子提示
      wx.showModal({
        title: "提示",
        content: "当前微信版本过低，无法自动更新小程序，请升级到最新微信版本后重试。"
      });
    }
  },

  getOpenId() {
    wx.cloud.callFunction({
      name: 'login',
    }).then((res) => {
      const openId = res.result.openid
      wx.setStorageSync('openid',openId)  
    })
  },
})
